package com.nisiken.aws.ses;

import static org.junit.Assert.fail;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Timer;

import org.junit.BeforeClass;
import org.junit.Test;

public class SESUtilsTest {

	@BeforeClass
	public static void setUpBeforeClass() throws Exception {
	}

	public void メールアドレス承認メール送信を要求する() {
		try {
			SESUtils.verifyAddress("nisiken219@gmail.com");
		} catch (Exception e) {
			e.printStackTrace();
			fail();
		}
	}

	public void 承認済みメールアドレスから承認済みメールアドレスに送信する() { 
		try {
			List<String> to = new ArrayList<String>();
			to.add("nisiken219@gmail.com");
			SESUtils.sendMail("nisiken219@gmail.com", to, "サンプルメール題名", "サンプル本文。");
		} catch (Exception e) {
			e.printStackTrace();
			fail();
		}
	}
	
	@Test
	public void 指定日時から一定間隔でメールを送る() {
		Date firstFireDate = new Date();
		firstFireDate.setTime(firstFireDate.getTime() + 3000); //3秒後
		
		List<String> to = new ArrayList<String>();
		to.add("nisiken219@gmail.com");
		Timer timer = SESUtils.sendScheduleMail(firstFireDate, 3000, "nisiken219@gmail.com", to, "サンプルメール題名", "サンプル本文。");
		
		try {Thread.sleep(1000 * 9);} catch (Exception e) {}
		timer.cancel();
	}
}
